package com.yida.gwj.deposit.domain.request.refund;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Author: PPV
 * @Date: 2023-02-22
 */
@ApiModel("退多补差 缴费信息")
public class GwjRefundCompleteMoneyRequest implements Serializable {

    private static final long serialVersionUID = 5520357288623287561L;

    @ApiModelProperty("业务金额主键")
    private Long bizMoneyId;

    @ApiModelProperty("缴存对象")
    private String depositObject;

    @ApiModelProperty("资金性质")
    private String capitalProperty;

    @ApiModelProperty("缴存状态")
    private String depositStatus;

    @ApiModelProperty("涉及总金额")
    private BigDecimal totalMoney;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("缴款日期")
    private Date depositTime;

    @NotBlank(message = "业务类型不能为空")
    @ApiModelProperty("业务类型 1退多 2补差")
    private String bizType;

    @NotBlank(message = "退补原因不能为空")
    @ApiModelProperty("退补原因")
    private String reason;

    @NotNull(message = "退补金额不能为空")
    @ApiModelProperty("退补金额")
    private BigDecimal refundCompleteMoney;

    public Long getBizMoneyId() {
        return bizMoneyId;
    }

    public void setBizMoneyId(Long bizMoneyId) {
        this.bizMoneyId = bizMoneyId;
    }

    // public Integer getDepositObject() {
    // return depositObject;
    // }
    //
    // public void setDepositObject(Integer depositObject) {
    // this.depositObject = depositObject;
    // }

    public String getDepositObject() {
        return depositObject;
    }

    public void setDepositObject(String depositObject) {
        this.depositObject = depositObject;
    }

    public String getCapitalProperty() {
        return capitalProperty;
    }

    public void setCapitalProperty(String capitalProperty) {
        this.capitalProperty = capitalProperty;
    }

    public String getDepositStatus() {
        return depositStatus;
    }

    public void setDepositStatus(String depositStatus) {
        this.depositStatus = depositStatus;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Date getDepositTime() {
        return depositTime;
    }

    public void setDepositTime(Date depositTime) {
        this.depositTime = depositTime;
    }

    public String getBizType() {
        return bizType;
    }

    public void setBizType(String bizType) {
        this.bizType = bizType;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public BigDecimal getRefundCompleteMoney() {
        return refundCompleteMoney;
    }

    public void setRefundCompleteMoney(BigDecimal refundCompleteMoney) {
        this.refundCompleteMoney = refundCompleteMoney;
    }
}
